Pass2Run -------- Description: This 9k program will take an EXE or COM file, and makes it virtually impossible to run a program without having prior knowledge of the Pass2Run AND the password. Requirements: VBRUN300.DLL is required. This program was written in Microsoft Visual Basic 3.0, and requires the run-time library. Microsoft Windows 3.0 or higher is required. How to use: In a shortcut (or if using Win95 or WinNT, a batch file) enter one of the following: Pass2Run -encode program.exe password Pass2Run -decode program.exe password Pass2Run program.exe password The "-encode" option will scramble the first 1,024 bytes of the file, making it impossible to run. The "-decode" option will return the program to its normal state, and using neither "-encode" nor "-decode" will cause Pass2Run to decode the program, run it, and then after 10 seconds, re-encode the program. IMPORTANT NOTE: If the computer is turned off during the 10 second wait interval, you will need to re-encode the program yourself. Also, Pass2Run needs only "Change" access to the program - it does not make any new files nor need to create temporary ones. You do not need to enter a password from the command line. In fact, for security reasons, it is probably better NOT to enter the password from the command line. If no password is supplied, Pass2Run will ask the user for one. The program name AND extension is REQUIRED to run Pass2Run. What intruders see: When trying to run an encoded program, the user will get either a "Program too big to fit in memory" error message, or an error message saying that the program is not a valid executable. Occasionally, an encrypted executable may lock the computer. These same errors occur when the user tries to run the program with an incorrect password. Only when the correct password is entered will Pass2Run allow the program to run. How it works: Pass2Run adds the individual characters of the file, the individual characters of the password, and the sum of the password. This sum is obtained by adding the ascii values for each letter in the password. Let's take a sample file saying "Testing" and a password of "OK". The password sum is 154 (O is ascii character 79, K is ascii character 75, and 79 + 75 = 154) File in: T(84) e(101) s(115) t(116) i(105) n(110) g(103) Password: O(79) K(75) O(79) K(75) O(79) K(75) O(79) Sum: 154 154 154 154 154 154 154 ---------------------------------------------------------- 317 330 348 345 338 339 336 Ascii characters go from 0 to 255, so we subtract 255 until we get valid characters: >(62) K(75) ](93) Z(90) S(83) T(84) Q(81) The encoded response is ">K]ZSTQ". Notice how the entire password is meshed into the program. In theory, the only way to break this encryption would be to try all of the possible passwords. Since Pass2Run accepts passwords of almost any length, it may take quite a while to break the encryption. Other stuff: This software and the accompanying files are distributed "as is" and without warranties as to the performance of merchantability or any other warranties whether expressed or implied. The user must assume the entire risk of using the program. This software may be distributed freely, but regarding its use, I would hope that you are a decent person. This software was written because I know others could use it. If it's worth $5 to you, send me the $5. At the very least, drop me an email and tell me if it has helped you any. I can be reached at: Justin Mierta 35 Mountain Church Road Hopewell, NJ 08525 EMAIL: Crazed_Cowboy@stones.com